#ifndef _ACTION_HPP_
#define _ACTION_HPP_
/*******************************************************************************
 ** Name: action.hpp                                                          **
 ** Description:                                                              **
 **                                                                           **
 ** Open Source Initiative (OSI) Approved License                             **
 **                                                                           **
 ** The contents of this file are subject to the terms of the                 **
 ** Common Development and Distribution License, Version 1.0 only             **
 ** (the "License").  You may not use this file except in compliance          **
 ** with the License.                                                         **
 **                                                                           **
 ** You can find a copy of the license in the LICENSE file within             **
 ** this distribution or at $WIKI/display/GOVT/License-software.              **
 ** Software distributed under the License is distributed on an "AS IS"       **
 ** basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.           **
 ** See the License for the specific language governing permissions           **
 ** and limitations under the License.                                        **
 **                                                                           **
 ** When distributing Covered Code, include this CDDL header in each          **
 ** file and include the License file at $GAME_DIR/LICENSE.                   **
 ** If applicable, add the following below this header, with the indicated    **
 ** fields enclosed by brackets "[]" replaced with your own identifying       **
 ** information: Portions Copyright [yyyy] [name of copyright owner]          **
 **                                                                           **
 **                                                                           **
 ** Copyright (c) 2009-2011  Barry Gian James <gian@gamingods.net>            **
 ** All rights reserved.                                                      **
 ******************************************************************************/
// Created on March 17, 2010, 4:02 AM
// Modified $Date: 2012-07-16 15:37:05 -0600 (Mon, 16 Jul 2012) $ by $Author: unknown $
// Portions Copyright 2012 Open Design Strategies, LLC.
// All rights reserved.
#define action_hpp_ID   "$Id: action.hpp 68634 2012-07-16 21:37:05Z unknown $"

#include "common.hpp"

enum class ActionTime : ushort { Attack, Full, Move, Free };
enum class ActionType { Offensive, Defensive, Movement, Prep, Stance };

//! @class Action
//! @brief A class to encapsulate doable actions
#pragma db object table("action")
class Action
{
public:
    Action(ActionTime, ActionType, std::string, bool);

    ActionTime      GetActionTime() const { return actionTime; }
    ActionType      GetActionType() const { return actionType; }
    std::string    GetActionName() const { return name; }
    bool            NeedsTraining() const { return bNeedTraining; }


protected:

    ActionTime  actionTime;
    ActionType  actionType;
    std::string name;
    bool        bNeedTraining;
};


#endif	/* _ACTION_HPP_ */

